"use strict";
// 用接口约束对象
let obj = {
    name: '张三',
    flag: true,
    aa: undefined,
    age: 18,
    sex: '男',
    hubby: '玩游戏',
    email: '123@123',
    phone: '122222',
    id: 100
};
// 综上所述：增加变量和减少变量是不允许的，改变属性的数据类型是不允许的；可见，赋值的时候，变量的形状必须和接口的形状保持一致
console.log(obj.name);
obj.name = '李四';
console.log(obj.name);
// obj.id = 200   //无法更改只读属性的值
// 只读的约束存在于第一次给对象赋值的时候，而不是第一次给只读属性赋值的时候
console.log(obj.id);
// request 要定返回值类型
function request(params) {
    return new Promise((resolve, reject) => {
        let ajax = new XMLHttpRequest();
        ajax.open(params.method, params.url);
        ajax.send(params.data);
        ajax.onreadystatechange = function () {
            if (ajax.status == 200 && ajax.readyState == 4) {
                resolve(JSON.parse(ajax.response));
            }
        };
    });
}
request({ method: 'get', url: 'https://api-hmugo-web.itheima.net/api/public/v1/home/swiperdata' }).then((res) => {
    console.log(res);
});
let arr = [1, 2, 3, 4, 5, '1', true, undefined, null];
console.log(arr);
